Method and System for Detecting and Responding to Changing of Media Channel

ABSTRACT

A computing system receives from a media presentation device a query fingerprint stream representing media content being presented by the media presentation device, where the query fingerprint stream has been determined to represent a first channel. The computing system then detects that a threshold mismatch exists between the received query fingerprint stream and a reference fingerprint stream representing the first channel, thus indicating a likelihood that the media presentation device has transitioned from presenting the first channel to presenting a second channel. Responsive to detecting the threshold mismatch, the system thus discontinues channel-specific action with respect to the first channel. For instance, the system could discontinue superimposing of first-channel-specific content on the presented media content and perhaps start superimposing of second-channel-specific content instead.

REFERENCE TO RELATED APPLICATIONS

This is a continuation of U.S. patent application Ser. No. 15/443,615,filed Feb. 27, 2017, which claims priority to U.S. Provisional PatentApplication No. 62/301,616, filed Feb. 29, 2016, the entirety of each ofwhich is hereby incorporated by reference.

BACKGROUND

A typical media presentation device operates to receive an analog ordigital media stream representing media content such as video and/oraudio content and to render and present the media content on a userinterface such as a display screen and/or an audio speaker. Examples ofsuch devices include, without limitation, televisions, computermonitors, projection systems, loudspeakers, headphones, and the like.

In many cases, such a media presentation device may be in communicationwith a receiver, such as a local set top box or other similar device ora remote server, that has access to numerous discrete channels of mediacontent and that can selectively deliver a given such channel's mediacontent to the media presentation device for playout.

By way of example, a television may be communicatively linked with acable-TV set top box that has access to a set of cable-TV channels, andthe set top box may be configured to receive user input selecting aparticular channel and to responsively tune to the selected channel andoutput to the television the media content of the selected channel, forpresentation of the media content to a user. As another example, aloudspeaker may be communicatively linked with a radio that has accessto a set of radio stations, and the radio may be configured to receiveuser input selecting a particular channel (station) and to responsivelytune to the selected channel and output to the loudspeaker the mediacontent of the selected channel, for presentation of the media contentto a user. And as still another example, a media presentation devicesuch as a display or speaker may be communicatively linked with acomputer that has access to a myriad of online streaming media channels,and the computer may be configured to receive user input selecting aparticular channel and to responsively initiate receipt and output ofthe selected media content and provide the media content to the displayand/or speaker for presentation to a user.

SUMMARY

When a media presentation device receives and renders media content, themedia presentation device may not have an indication of which channelcarried the media content. A receiver or other device that selectivelytunes to the channel and receives the media content and that providesthe media content to the media presentation device may have suchinformation, but the media presentation device that receives the mediacontent from that other device may not have such information. Forexample, if a television is coupled with a cable-TV set top box and auser selects a particular cable channel on the set top box, the set topbox may thereby have an indication of the selected channel as thechannel on which the set top box is then receiving media content that isbeing output to the television. But the television itself may merelyreceive and render the media content and may have no indication of theselected channel. A similar issue could exist for a loudspeaker or othermedia presentation device.

For various reasons, however, it may be useful to determine which ofvarious channels is the channel that carries the content being renderedby a media presentation device. Further, it may be useful to do sowithout receiving from a channel-selection device (e.g., receiver orremote control) a report of the channel to which that device is tuned,and perhaps without any involvement of the channel-selection device. Forinstance, it may be useful for the media presentation device itself,and/or a network server working in cooperation with the mediapresentation device, to determine the channel based on an evaluation ofthe media content that is being rendered (e.g., being already rendered,currently being rendered, or being in queue to be rendered) by the mediapresentation device. Given knowledge of the channel on which the mediacontent is arriving, the media presentation device, the network server,and/or another entity could then carry out one or more operations keyedto the channel, such as determining and recording an extent to whichmedia content of that channel is being played, selectively replacing apredetermined portion of the media content with alternative content(such as a replacement advertisement), or superimposing channel-specificcontent over or otherwise in conjunction with the media content forpresentation along with the media content, among numerous otherpossibilities.

One method to determine the channel on which media content is arrivingis to have the media presentation device (or perhaps an adjunct device)and/or a network server generate a digital fingerprint of the mediacontent that is being rendered by the media presentation device, and tothen compare that fingerprint with reference fingerprint dataestablished for media content known to be provided on particularchannels.

For example, a network server or other such entity may establish orotherwise have access to reference data that includes a referencefingerprint stream of each of the channels available to provide mediacontent to the media presentation device (e.g., each of the channelswithin a subscription plan for a set-top box that supplies media contentto the media presentation device) and that maps each referencefingerprint stream to the channel on which the media content isprovided. As the media presentation device receives and renders givenmedia content, the media presentation device may then generate a queryfingerprint stream of that media content and, through a networkcommunication interface, report the generated query fingerprint streamto the network server for analysis. As the network server receives thequery fingerprint stream from the media presentation device, the networkserver may then compare the query fingerprint stream with the referencefingerprint streams of various channels to find a match with a referencefingerprint stream and to thereby determine that the channel on whichthe media content is arriving is the channel that the reference datamaps with that reference fingerprint stream.

Upon thereby determining the channel on which the media content isarriving, the network server may then communicate an indication of thechannel to the media presentation device, and the media presentationdevice may take channel-specific action, such as superimposingchannel-specific content (e.g., channel identification or associatedcontent) in the media stream being rendered by the media presentationdevice for instance. Alternatively, the network server itself or anotherentity may take channel-specific action based on the determined channel,such as superimposing channel-specific content in the media stream beingtransmitted to the media presentation device for rendering.

When channel-specific action is taken in this process, it can beimportant to ensure that channel being rendered by the mediapresentation device is in fact the determined channel as to which thechannel-specific action is taken. This is particularly the case in asituation where the channel-specific action is perceived by a user whois watching or listening to the rendered channel. For example, if atelevision is rendering a particular video channel and the processresults in superimposing a channel-identification graphic on thetelevision display, it can be especially important from auser-experience perspective that the channel identification be correct.If the channel identification is incorrect, the result could be userconfusion and other issues. Further, correctness of the channelidentification could be important in other scenarios as well.

One situation where this can become an issue is when the channel beingrendered by the media presentation device changes. For instance, a userwho is watching or listening to a particular channel on the mediapresentation device may change the channel at the associated receiver(e.g., set top box or radio) that is providing the media content to themedia presentation device. Thus, the channel that is being rendered bythe media presentation device could change from an old channel to a newchannel. And, as discussed above, while the receiver may be aware ofthis channel change, the media presentation device may not.

When the user changes the channel being rendered by the mediapresentation device, any channel-specific superimposed content might nolonger be relevant to the media content of the new channel beingrendered by the media presentation device. Furthermore, there may bedifferent channel-specific content associated with the media content ofthe new channel that can be properly superimposed over that new mediacontent.

Given this, when a channel change occurs, it may be desirable to (i)stop taking channel-specific action such as displaying channel-specificsuperimposed content over the media content, (ii) start taking differentchannel-specific action, such as displaying different channel-specificsuperimposed content over the media content, or (iii) do both (i) and(ii). Regardless, in order to perform any of these operations, it wouldbe beneficial to detect the channel change rapidly.

Disclosed herein is a method and system for detecting and responding toa channel change. In accordance with the disclosure, once a channelbeing rendered by a media presentation device has been identified (e.g.,through a process as discussed above), a server or other entity willthen detect one or more mismatches between a query fingerprint stream ofthe media content being rendered by the media presentation device and areference fingerprint stream expected for the media content of theidentified channel. Upon detecting the mismatch(es), the server or otherentity could then take any of the actions noted above, such as stoppingtaking channel-specific action as to the old channel and/or starting totake channel-specific action as to the new channel.

Accordingly, in one respect, disclosed is a method of detecting andresponding to a change of channels at a media presentation device. Asdisclosed, the method includes, while the media presentation device ispresenting media content determined to be of a first channel, detectinga threshold mismatch between (i) a query fingerprint stream representingthe media content being presented by the media presentation device and(ii) a reference fingerprint stream representing the first channel, thethreshold mismatch indicating a likelihood that the media presentationdevice has transitioned from presenting the first channel to presentinga second channel. Further, the method includes, responsive to detectingthe threshold mismatch, changing an overlay on the presented mediacontent, where changing the overlay involves removing superimposedcontent associated with the first channel.

In another respect, the disclosed is a method for detecting andresponding to a change of channels. As disclosed, the method includes acomputing system receiving a plurality of query fingerprintsrepresenting media content rendered over time by a media presentationdevice, in a situation where, based on at least a portion of thereceived query fingerprints, the rendered media content has beenidentified as being a first channel of media content. Further, themethod includes comparing one or more of the received query fingerprintsto a corresponding one or more reference fingerprints representing thefirst channel of media content, and, based on the comparing, determininga likelihood that the media content being rendered by the mediapresentation device is no longer the first channel of media content. Inturn, the method then includes, responsive to the determined likelihoodthat the media content being rendered by the media presentation deviceis no longer the first channel of media content, discontinuing achannel-specific action with respect to the rendering of the mediacontent by the media presentation device.

Still further, in another respect, disclosed is a system for carryingout such features. As disclosed, the system includes a networkcommunication interface, a processing unit, non-transitory data storage,and program instructions stored in the non-transitory data storage andexecutable by the processing unit to carry out operations including (i)receiving from a media presentation device, via the networkcommunication interface, a query fingerprint stream representing mediacontent being presented by the media presentation device, where thequery fingerprint stream has been determined to represent a firstchannel, (ii) detecting a threshold mismatch between the received queryfingerprint stream and a reference fingerprint stream representing thefirst channel, wherein the threshold mismatch indicates a likelihoodthat the media presentation device has transitioned from presenting thefirst channel to presenting a second channel, and (ii) responsive todetecting the threshold mismatch, changing an overlay on the presentedmedia content, wherein changing the overlay involves removingsuperimposed content associated with the first channel.

These as well as other aspects, advantages, and alternatives will becomeapparent to those of ordinary skill in the art by reading the followingdetailed description, with reference where appropriate to theaccompanying drawings. Further, it should be understood that thedescriptions provided in this summary and below are intended toillustrate the invention by way of example only and not by way oflimitation.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a simplified block diagram of an example system in whichvarious disclosed principles can be applied.

FIG. 2 is a simplified block diagram of an example network arrangementin which a media presentation device communicates with a network serverto facilitate implementing various disclosed principles.

FIG. 3 is an illustration of how a sequence of query fingerprints couldbe compared with a sequence of reference fingerprints as a basis todetermine likelihood of channel change.

FIG. 4 is another illustration of how a sequence of query fingerprintscould be compared with a sequence of reference fingerprints as a basisto determine likelihood of channel change.

FIG. 5 is a flow chart depicting operations that can be carried out inaccordance with the present disclosure.

FIG. 6 is another flow chart depicting operations that can be carriedout in accordance with the present disclosure.

FIG. 7 is a simplified block diagram of an example network server.

FIG. 8 is a simplified block diagram of an example media presentationdevice.

DETAILED DESCRIPTION

Referring to the drawings, FIG. 1 is a simplified block diagram of anexample system in which various disclosed principles can be applied. Itwill be understood, however, that this and other arrangements andprocesses described herein can take various other forms. For instance,elements and operations can be re-ordered, distributed, replicated,combined, omitted, added, or otherwise modified. Further, it will beunderstood that functions described herein as being carried out by oneor more entities could be implemented by and/or on behalf of thoseentities, through hardware, firmware, and/or software, such as by one ormore processing units executing program instructions or the like.

As shown in FIG. 1, the example system includes one or more mediacontent sources 12 (e.g., broadcasters, web servers, etc.), one or moremedia content distributors 14 (e.g., multi-channel distributors, such ascable providers, satellite providers, over-the-air broadcast providers,web aggregators, etc.), one or more media content receivers 16 (e.g.,cable receivers, satellite receivers, over-the-air broadcast receivers,computers or other streaming media receivers, etc.), and one or moreclients or media presentation devices 18 (e.g., televisions or otherdisplay devices, loudspeakers or other audio output devices, etc.)

In practice, for instance, the media content sources 12 could benational broadcasters, such as ABC, NBC, CBS, FOX, HBO, and CNN, themedia content distributors 14 could be local affiliates and/or otherlocal content distributors in particular designated market areas (DMAs),and the receivers 16 and media presentation devices 18 could then besituated at customer premises, such as homes or business establishments.With this or other arrangements, the content sources 12 could delivermedia content to the content distributors 14 for distribution toreceivers 16 at customer premises, and the content distributors coulddistribute the media content to the receivers 16 on discrete channels(e.g., particular frequencies). Each receiver could then respond to userinput or one or more other triggers by tuning to a selected channel andoutputting to a media presentation device 18 the media content that isarriving on the selected channel. And the media presentation device 18could receive and render the media content (e.g., display or otherwisepresent the content).

In this arrangement, as the media presentation device receives andrenders this media content, the media presentation device may have noindication of the channel on which the media content is arriving, i.e.,of the channel to which the receiver is tuned. Rather, the mediapresentation device may be configured simply to receive the mediacontent as a media stream from the receiver and to render the receivedmedia content. Per the present disclosure, however, the mediapresentation device may be in communication with a network server andmay work with the network server to facilitate identification of thechannel and thus to facilitate taking useful channel-specific action.

FIG. 2 illustrates an example network arrangement in which a mediapresentation device 18 is in communication with a network server 20 viaa network 22, such as the Internet. In practice, the media presentationdevice 18 may sit as a node on a local area network (LAN) at customerpremises, with the media presentation device having an assigned InternetProtocol (IP) address on the LAN and the LAN having an IP address on theInternet. Further, the network server 20 may also be accessible at an IPaddress on the Internet. With this arrangement, the media presentationdevice may initiate and engage in IP communication with the networkserver via the Internet, to provide a fingerprint stream of mediacontent being rendered by the media presentation device, so as tofacilitate channel identification and associated action.

As discussed above, the network server 20 or another entity operating inaccordance with the present disclosure could establish or have access toreference data 24 for media content that is carried or scheduled to becarried on at least each of various channels accessible to the mediapresentation device 18.

The reference data, which could be stored in a relational database orother form, could include a respective reference fingerprint stream foreach channel, perhaps a reference fingerprint stream of media contentthat was most recently carried by the channel (e.g., on a sliding windowbasis covering a most recent period of time). Alternatively oradditionally, the reference data could include a respective referencefingerprint stream of each media content program (e.g., televisionbroadcast, radio broadcast, streaming media file, etc.) that isavailable and/or scheduled to be carried on a particular channel. Assuch, the reference data could map each reference fingerprint stream toa channel on which the associated media content (i.e., the contentuniquely identified by the reference fingerprint stream) is or may becarried.

In mapping reference fingerprint streams to channels, the reference datacould characterize the channels by various attributes, to helpdistinguish the channels from each other. For example, where a receiveror other such device provides multiple different channels selectable bychannel number or name, the reference data could characterize thechannels by their respective channel numbers or names. And as anotherexample, where each channel carries a particular content source'scontent, such as the content of one of a particular broadcaster forinstance, the reference data could characterize the channels by theirrespective content sources' identities.

Still further, where more than one content distributor (e.g.,multichannel distributor) distributes content sources' content, thereference data could characterize the channels by their respectivecontent distributors' identities. And for channels that are broadcast inparticular geographic locations, such as a particular DMAs, thereference data could characterize the channels by their broadcastlocations. In practice, the reference data could correlate eachreference fingerprint stream with one or more of these or otherattributes.

The network server 20 or other entity operating in accordance with thepresent disclosure could establish some or all of this reference data byanalyzing media content arriving on each of the various channels (e.g.,at least the media content arriving on each of various channels that areavailable to a receiver that serves the media presentation device).

To facilitate this, as shown, the server could include or beinterconnected with one or more receivers 26 that are configured toreceive media content from one or more of the media content distributors14 on various channels in much the same way that receivers would beconfigured to receive content at customer premises. For instance, theserver could include or be interconnected with one or more cable-TV settop boxes, radios, computers, or other media receivers, or could beconfigured to emulate one or more such receivers. The server could thenbe configured to receive and analyze the respective media contentarriving on each channel and to generate for each channel a referencefingerprint stream of the channel's media content, using any mediafingerprinting process now known or later developed.

Considering video content, without limitation, an example digitalfingerprinting process could apply on a per video frame basis (e.g., perkey frame, or for each frame) and could involve establishing arepresentation of luminosity and/or other video characteristics.

For instance, for a given video frame, the server could programmaticallydivide the frame into a grid, and the server could measure luminosity ofthe frame per grid cell and generate a bit string with each bit orseries of bits representing luminosity of a respective grid cell, orrepresenting a weighted difference between the luminosity of certaindefined pairs of the grid cells, or the like. Further, the computingsystem could apply this process on an ongoing basis to generate thereference fingerprint stream over time as a sequence of referencefingerprints. For instance, the server could apply this process to eachframe, to each key frame, periodically, or on another defined basis,with each frame's bit string defining a digital fingerprint and/or witha specified hash, combination or series of such bit strings or otherrepresentative values defining a digital fingerprint, on a slidingwindow basis. Many other digital fingerprinting processes could be usedas well.

In practice, the server could be configured to receive concurrently onmultiple such channels (perhaps all of the channels) and to analyze andgenerate respective reference fingerprint streams for the channels inparallel, or the server might be configured to hop from channel tochannel, possibly repeatedly cycling through the channels, to analyzeand generate a respective reference fingerprint stream for each channel.Further, the server could continue to do this in real-time, saving arespective fingerprint stream of at least a most recent time window ofmedia content for each channel, for reference. And the server couldrecord each channel's reference fingerprint stream in the reference datain association with a characterization of the channel (e.g., withattributes such as those noted above) and timestamp informationindicating a time of receipt of the associated media content. Here, theserver would have knowledge of each channel (e.g., channel number), justas a receiver would normally have knowledge of the channel to which thereceiver is tuned. Further, the server may have access to guideinformation or other such data specifying attributes of each suchchannel (e.g., content source identity, content distributor identity,etc.), so that the server can determine and record channel attributesrespectively for each reference fingerprint stream.

Alternatively or additionally, the server could receive such referencefingerprint streams from external media receiver devices 28, such asfrom media receiver devices located in various respective DMAs. Thisimplementation could be especially useful for channels that are providedonly in specific DMAs. In this implementation, each media receiverdevice 28, perhaps interworking with an associated computer server,could be configured to receive and analyze the respective media contentarriving on each channel available to the media receiver device, togenerate for each such channel a reference fingerprint stream of thechannel's media content using any fingerprint process now known or laterdeveloped, and to provide the reference fingerprint stream (e.g.,periodically or continuously) via a network connection to the server 20.Further, the media receiver device 28 could provide server 20 withinformation characterizing the channel on which the media contentrepresented respectively by each such reference fingerprint stream isarriving, such as the channel number and other attributes noted above.And the server could thus record each received reference fingerprintstream along with its associated channel attributes.

Still alternatively or additionally, the server could receive or perhapsestablish such reference fingerprint streams for media content programsthat are available or scheduled to be provided on particular channels.For instance, providers or distributors of various media contentprograms could generate reference fingerprint streams for the mediacontent programs (e.g., reference fingerprint streams over the course ofrespective media content programs), again using any media fingerprintingprocess now known or later developed, and those reference fingerprintstreams could be provided to the server. Alternatively, the server couldreceive advance copies of the media content programs and could itselfgenerate such reference fingerprint streams. Further, the server couldreceive or determine from program guide information the channel on whichthe media content program is available or scheduled to be provided, andperhaps a day and time at which the media content is scheduled to beprovided. The server could then record each media content program'sreference fingerprint stream in the reference data in association withthe channel on which the media content program is available or scheduledto be carried, likewise with associated channel attributes, and perhapsin association with a day and time at which the media content program isscheduled to be provided.

Given this or other such reference data, when the server is presentedwith a query fingerprint stream of media content that was received on anunknown channel, the server could match the query fingerprint with oneof the stored reference fingerprints, using any fingerprint comparisonprocess now known or later developed, and could thereby conclude thatthe media content at issue arrived on the channel that the referencedata maps to the matching reference fingerprint.

To facilitate this comparison, the query fingerprint stream wouldpreferably be generated using the same fingerprinting process that isused to generate each of the reference fingerprints, so that portions ofthe query fingerprint would correspond with portions of each referencefingerprint. For instance, for video content, the query fingerprint andeach reference fingerprint could be generated on a per-frame basis asdiscussed above, using the same grid and same basis for representingluminosity values and/or other characteristics in the same manner.

To compare the query fingerprint stream with a reference fingerprintstream, the server could compare corresponding portions of thefingerprints with each other to determine whether the portions matchexactly or within defined tolerances. For example, if the queryfingerprint stream comprises a sequence of query fingerprintsrepresenting respective frames of media content, and if each referencefingerprint stream comprises a sequence of reference fingerprintsrepresenting respective frames of media content, the server couldcompare individual ones of the query fingerprints with individual onesof the reference fingerprints, in search of a match. Further, to refinethe matching process, the server could compare subsets of the queryfingerprints with subsets of reference fingerprints in particularreference fingerprint streams, in search of a more specific match.

Considering video content, for instance, the server could conduct thisanalysis on a per-video-frame basis, comparing a query fingerprint of aframe against a reference fingerprint of a frame, such as by computing amaximum deviation between the fingerprints and determining if themaximum deviation is within a predefined tolerance. Further, if thefingerprints are binary, this could be a Boolean determination or couldinvolve computing a Hamming distance (as a count of mismatches betweenrespective bit locations in the fingerprints), and if the fingerprintsare more complex values, such as decimal values or vectors (e.g., greyvalues per video frame region), this could involve determining adistance between the values or vectors. Numerous other examples arepossible as well.

This fingerprint comparison process could be thus conducted with adesired level of tolerance. For instance, the comparison could becoarse, with relatively high tolerance for differences between thefingerprints, such as with tolerance for a greater number of differencesand/or tolerance for a greater size of differences. By way of example,when comparing two 32-bit fingerprints with each other, a coarsecomparison may deem the fingerprints to match each other generally evenif two or another designated number of bits do not match. Or thecomparison could be more granular, with lower tolerance for suchdifferences, and/or with comparisons focused on specific fingerprintcomponents possibly representing specific portions of the underlyingmedia. Further, this comparison could be done on a sliding window basis,by comparing a time segment of the query fingerprint stream withnumerous time segments of the reference fingerprint stream, or viceversa, to account for time shifting.

In addition, the fingerprint comparison process could be conducted at adesired rate, which could also contribute to the level of granularity ofthe analysis. In particular, the server could compare a latest queryfingerprint or latest sliding window of query fingerprints with thereference fingerprints every T seconds, defining a comparison interval,with a longer comparison interval making the analysis more coarse, or ashorter comparison interval making the analysis more granular. Forexample, the server could compare a latest query fingerprint or latestsliding window of query fingerprints with the reference fingerprintsevery second as a relatively coarse analysis, or the server couldcompare a latest query fingerprint or latest sliding window of queryfingerprints with the reference fingerprints every 0.2 seconds as a moregranular analysis. Other examples are possible as well.

Thus, if the server is faced with a query fingerprint stream of mediacontent that is being rendered by the media presentation device 18, theserver could compare the query fingerprint stream with the referencefingerprint streams in the reference data to determine if the queryfingerprint stream matches a reference fingerprint. And if the serverthereby finds a matching reference fingerprint stream, then the servercould identify the channel that the reference data maps with thematching reference fingerprint and could conclude that that is thechannel on which the media presentation device is receiving the mediacontent (i.e., that that is the channel carrying the media content beingrendered by the media presentation device). In turn, the server couldresponsively take a channel-specific action based on the identifiedchannel, or cause or enable one or more other entities to take achannel-specific action based on the identified channel.

To facilitate this, the media presentation device 18 or another entitycould be configured to generate a query fingerprint stream of the mediacontent that is being rendered by the media presentation device and totransmit the query fingerprint stream to server 20 for analysis.

For instance, as shown in FIG. 2, the media presentation device couldinclude a fingerprint generator 30, which could be configured togenerate a digital fingerprint stream of media content being rendered bythe media presentation device. Such a fingerprint generator could beconfigured to generate the fingerprint stream of media content as themedia presentation device is receiving the media content on a channelfrom a receiver 16 and/or as the media presentation device is processingthe media content for presentation. As such, the fingerprint generatorcould receive as input a copy of the media content arriving at the mediapresentation device from the receiver and/or being processed forpresentation by the media presentation device, and to generate afingerprint stream of the media content, using the same fingerprintingprocess used to generate the reference fingerprint streams.

In practice, the fingerprint generator could be configured to generatesuch a query fingerprint stream on an ongoing basis, such as on a perframe basis (e.g., per key frame) or other basis. And the mediapresentation device could be configured to transmit the queryfingerprint stream via network 22 to a server 20 for analysis. By way ofexample, the media presentation device could be configured toperiodically, continuously, or from time to time transmit to the servera query fingerprint stream representing a latest frame, series of framesor other segment or portion of the media content being rendered by themedia presentation device. In particular, the media presentation devicecould generate a message carrying the latest generated queryfingerprint(s), along with one or more timestamps and/or other such dataas well as an identifier of the media presentation device, and couldtransmit the message to the server's IP address. And the server couldthereby receive the query fingerprint stream for analysis.

Alternatively, the media presentation device could transmit to theserver, and the server could thus receive, various data regarding themedia content being rendered by the media presentation device, likewiseon an ongoing basis or other basis, to enable the server itself oranother entity to generate a query fingerprint stream of the mediacontent being rendered by the media presentation device. For example,the media presentation device could transmit to the server portions ofthe media content being rendered by the media presentation device, suchas individual frames (e.g., snapshots) or other segments of the mediacontent. And the server could generate a query fingerprint stream ofthat media content for analysis.

Through the process described above, the server could thus compare thequery fingerprint stream of the media content being rendered by themedia presentation device with the reference fingerprint streams in thereference data. And as noted above, if the server thereby finds amatching reference fingerprint stream, the server could determine thechannel that the reference data maps with the matching referencefingerprint stream and could conclude that the determined channel is thechannel carrying the media content being rendered by the mediapresentation device.

In response to thereby determining the channel at issue, the servercould then take, or cause to be taken, one or more channel-specificactions based on the determination of the channel. In particular, theserver itself could take action based on the channel determination, orthe server could signal to another entity, perhaps to the mediapresentation device, to cause the other entity to take action based onthe channel determination.

For example, the server could record the fact that the mediapresentation device is presenting content of that particular channel, aspart of a channel ratings or analytics system to measure the extent towhich particular channels are being presented by media presentationdevices. For instance, the media presentation device could regularly(e.g., periodically) report to the server a query fingerprint stream ofthe media content that the media presentation device is rendering, andthe server could carry out processes such as those discussed herein todetermine the channel being rendered. For each unit of time that theserver thus determines that a channel is being rendered by the mediapresentation device, the server could add to a count or other statisticof the channel being rendered, as data to indicate the extent to whichthat channel is being presented. Further, these counts or otherstatistics could be per media presentation device (as device-specificviewing analytics), indicating the extent to which the mediapresentation device presents the channel at issue.

As another example, the server could responsively cause the mediapresentation device to present supplemental content, such as a pop-upadvertisement as discussed above, a commercial break, or a channelidentification, among other possibilities, possibly as a replacement forone or more portions of the media content being rendered. For instance,given knowledge of the channel at issue, the server could generate orselect (e.g., from server data storage) particular supplemental mediacontent associated specifically with the determined channel (and perhapsfurther based on profile data (e.g., device-specific viewing analytics)associated with the particular media presentation device) and couldtransmit the supplemental media content to the media presentation devicefor the media presentation device to present in conjunction with themedia content that the media presentation device is receiving from thereceiver. The media presentation device could thus receive thesupplemental media content from the server and present it in conjunctionwith the media content that the media presentation device is receivingfrom the receiver.

In practice, this process could involve the server receiving inreal-time from the media presentation device a query fingerprint of themedia content being rendered by the media presentation device and theserver determining that the received fingerprint matches a referencefingerprint stream of media content that the server is concurrentlyreceiving (or has scheduled for the same time) on a known channel.

In some cases, however, there may be a time difference between when themedia presentation device renders the media content and timestamps andtransmits the query fingerprint stream to the server and when the serverreceives the media content on the known channel and otherwise has thereference fingerprint stream timestamped. As noted above, the servercould account for this time difference by comparing the receivedfingerprint over a sliding window of the reference fingerprint or viceversa.

Further, the server could account for this time difference when takingaction in response to a determined match between the receivedfingerprint and the reference fingerprint. For example, if the mediapresentation device receives the media content sufficiently earlier thanthe server's timestamp for the content (e.g., more than a few secondsearlier), the server could still identify a fingerprint match and couldrecord analytics data. But in response to detecting that timedifference, the server might forgo having the media presentation devicepresent associated supplemental content, to help avoid a situation wherethe media presentation device presents the supplemental content too late(e.g., out of sync) from a user's perspective. On the other hand, if theserver detects a fingerprint match for a sufficient period of timeand/or determines that the matching content will continue, the servermay have the media presentation device present supplemental content evenwhen faced with such a time difference.

In any event, through these or other such processes, a network server orother entity can determine the channel on which the media presentationdevice is receiving the media content at issue. And once the entitydetermines the channel, the entity may then take action based on thechannel determination. Alternatively, the entity could signal to anotherentity, perhaps back to the media presentation device, to cause theother entity to take action based on the channel determination. Otherexamples are possible as well.

In line with the discussion above, once the server 20 or another entityhas identified the channel that is being rendered by the mediapresentation device, and perhaps while associated channel-specificaction is being taken in response (e.g., while channel-specific contentis being superimposed and/or while channel ratings information is beingrecorded based on the channel being presented), the server or otherentity could detect a threshold fingerprint mismatch between the queryfingerprint stream and the reference fingerprint stream. As explainedabove, this threshold mismatch could occur when the channel beingrendered by the media presentation device is changed, such as when auser changes the channel on the associated receiver. Thus, the thresholdmismatch could be indicative of a channel change.

In practice, for instance, once the channel has been identified, theserver could proceed (e.g., continue) to compare a query fingerprintstream of the media content being rendered by the media presentationdevice with a reference fingerprint stream of the identified channel'smedia content. And the server could thereby detect when a thresholdmismatch between the query fingerprint stream and the referencefingerprint stream occurs and, in response to detecting the thresholdmismatch, could take one or more actions such as those noted above. Forexample, the server could then responsively discontinue thechannel-specific action that is being taken as to the identifiedchannel. Further, the server could engage in a newchannel-identification process such as that described above (e.g., bycomparing the query fingerprint stream with various referencefingerprint streams corresponding with known channels) so as to newlyidentify the channel that is currently being rendered by the mediapresentation device, and the server could then take channel-specificaction as described above based on the new channel identification.

To facilitate this, once the channel has been identified, the servercould receive (e.g., continue to receive) from the media presentationdevice, or to otherwise establish or obtain, a query fingerprint streamof the media content being rendered by the media presentation device, asdiscussed above. Further, the server could compare the query fingerprintstream, perhaps on a frame-by-frame basis, with a reference fingerprintstream established for the identified channel as discussed above. (Inperforming this comparison, the server could exclude anychannel-specific content that is currently being superimposing over themedia content being rendered by the media presentation device, as atissue is a comparison between the underlying media content of thechannel.)

Thus, in an implementation where the query fingerprint stream defines asequence of query fingerprints and where the reference fingerprintstream defines a sequence of reference fingerprints, the server coulddetect a threshold mismatch between the query fingerprint stream and areference fingerprint stream by detecting at least a threshold mismatchbetween (i) at least one of the query fingerprints and (ii) acorresponding at least one of the reference fingerprints.

FIG. 3 is an illustration of how this process can work in practice, in ascenario where a television or other media presentation device generatesa stream of query fingerprints corresponding with respective frames ofmedia content being rendered by the media presentation device and sendsthe stream to a server that stores reference fingerprint streams ofknown channels. This figure provides simplified graphics representingframes of media content, which could be continuous frames of video (eventhough, for simplicity, there are clear jumps in continuity in thesimplified illustrations) or could be key frames of video or the like.

Moving from left to right in this figure, the server compares a firstquery fingerprint of a first frame of media content being rendered bythe media presentation device with various reference fingerprints, andthe server finds no match. Thus, at this stage, the channel beingrendered by the media presentation device is not yet identified.

Continuing with the example, however, the server then matches each ofthe next four query fingerprints with a corresponding sequence of fourfingerprints of a particular reference fingerprint stream representing aknown channel. Once the server matches at least the first pair of thesefingerprints (and perhaps a first threshold number of such pairs), theserver may thus conclude that the channel being rendered by the mediapresentation device is the channel represented by the matching referencefingerprint stream. Therefore, the server could begin to take actionspecific to that determined channel, such as superimposing or causing tobe superimposed particular channel-specific content on the media beingrendered by the media presentation device.

Further, as the server continues to find these matches between the queryfingerprint stream and the reference fingerprint stream of theidentified channel, the server could conclude that the identifiedchannel is continuing to be rendered by the media presentation device.Put another way, at this stage, there is a low (or zero) likelihood thatthe channel has changed, because the expected reference frames,represented by reference fingerprint stream, match the query framesrepresented by the query fingerprint stream. Therefore, the server couldcontinue to take the channel-specific action, such as by allowing orcontinuing to cause channel-specific content to be superimposed.

Continuing further, the server then determines that the right-most queryfingerprint does not match the expected next reference fingerprint inthe reference fingerprint stream. Thus, the server could conclude atthis point that the media content of the identified channel is no longerbeing rendered by the media presentation device, possibly because a userchanged channels. Put another way, at this stage, there is a highlikelihood that the channel has changed, because the expected referenceframe, represented by the reference fingerprint stream, does not matchthe query frame represented by the query fingerprint stream. Given this,the server could therefore discontinue the channel-specific action thatwas being taken, such as by stopping or causing to stop superimposing ofcontent specific to the channel, for instance.

While this example could work well in practice, a more robust processfor detecting and responding to likely channel-changing could also becarried out. In the more robust process, the server could apply adistance function to one or more sequential pairs of query and expectedreference fingerprints. Such a distance function could take on a valueof near 0 (zero) when a pair of fingerprints are the same, and may growlarger with the difference between the fingerprints. The server couldcompute the sum of these distances for t pairs and could then map thesum, using a sigmoid function, to a range of 0 to 1. This range couldthus indicate a probability that the pairs of fingerprints are fromdifferent media content, possibly due to a channel change.

More formally, by way of example, the server could calculate:

$\sigma ( {\sum\limits_{i = 0}^{t}\; {d( {f_{r}^{i},f_{q}^{i}} )}} )$

where f_(r) ^(i) is the ith most-recent reference fingerprint and f_(q)^(i) is the ith most-recent query fingerprint. Here, the value ofd(f_(r) ^(i),f_(q) ^(i)) could be determined in various ways. Forinstance, if the fingerprints are represented as fixed-length strings ofbits, this function could count the number of mismatches between therespective bit locations in the fingerprints, e.g., a Hamming distance.Other ways of determining a distance are also possible.

In some embodiments, the server could normalize each output of d(f_(r)^(i),f_(q) ^(i)) so that its midpoint is zero. For instance, for 32-bitfingerprints, the minimum Hamming distance is 0 and the maximum Hammingdistance is 32. Therefore, the server could map this possible range of 0to 32 to a range of −16 to 16.

The sigmoid function σ could be any function that maps a domain thattakes on values from −n to n to a range of 0 to 1, so that the valuescould represent probabilities. One possible example of many is:

${\sigma (k)} = \frac{1}{1 - e^{- k}}$

In this fashion, the server could evaluate the sum of differences overthe last t pairs of fingerprints and could map the sum to a probabilitythat indicates a likelihood of whether a change in displayed mediacontent has occurred. If the output of the sigmoid function is nearzero, a channel change is deemed unlikely or non-existent. Whereas, thecloser the output is to 1, the more likely it is that a channel changehas occurred.

Thus, continuing with the example above, if the server compares tsequential pairs of 32-bit query and expected reference fingerprints andcomputes for each pair a Hamming distance that the server maps to avalue in the range of −16 to 16, the server could sum those values andcould apply a sigmoid function to establish based on that analysis alikelihood that the channel being rendered by the media presentationdevice has been changed.

FIG. 4 depicts an example of this in a scenario where t=3. Inparticular, the three most-recent query fingerprints f_(q) ⁰, f_(q) ¹,and f_(q) ² in this example are compared to three respective referencefingerprints f_(r) ⁰, f_(r) ¹, and f_(r) ². Based on the cumulativedifferences between the fingerprints in each pair, the resulting outputof the sigmoid function could then indicate the likelihood that themedia content being rendered by the media presentation device is nolonger the previously-identified media content, perhaps indicating thatthe channel has been changed. The server could then repeat this process,on a sliding-window basis, for each newly-received query fingerprint orsequence of query fingerprints.

With this more robust process or with another process that establishes astatistical probability that the channel being rendered by the mediapresentation device has been changed, the server could then use theestablished probability as a basis to decide whether to take action inresponse. For example, the server could determine if the establishedprobability is at least as high as a threshold probability that isdeemed sufficient to support taking action based on a channel change,such as a probability of 0.9 or above for instance.

If the server determines that the established probability is notthreshold high, then the server could responsively not take action basedon a channel change. For instance, the server could respond to thisdetermination by continuing to allow or cause superimposition of contentspecific to the identified channel and/or continuing to record ratingsdata indicating that the identified channel is being presented.

Whereas, if the server determines that the established probability isthreshold high, then the server could take action based on a channelchange. For instance, the server could responsively respond to thisdetermination by discontinuing the superimposing of content specific tothe identified channel and/or discontinuing recording of ratings dataindicating that the identified channel is being presented. Further, inthis case, the server could also responsively work to identify thechannel now being rendered by the media presentation device, through theprocess described above for instance, and could then takechannel-specific action based on that newly identified channel. Otherexamples are possible as well.

In practice, the fingerprint comparison that the server conducts todetect a channel change would optimally be with respect to a latestreceived query fingerprint or latest sliding window of received queryfingerprints. By comparing a most recent portion of the queryfingerprint stream with a corresponding portion of the referencefingerprint stream that represents the channel being rendered, theserver could help to ensure a most timely detecting of a channel change.

In addition, the fingerprint comparison interval used for detecting achannel change could be shorter than the fingerprint comparison intervalused for identifying the channel being rendered. For instance, whencomparing a query fingerprint stream with reference fingerprint streamsto determine the channel being rendered by the media presentationdevice, the server could apply a fingerprint comparison interval on theorder of one second. Whereas, when comparing a query fingerprint streamwith the reference fingerprint stream of the identified channel, theserver could apply a fingerprint comparison interval on the order of 0.2seconds, to help ensure that the server detects a channel change quicklyenough. Thus, the server could use a longer comparison interval toidentify the channel being rendered in the first place, the server couldthen reduce the comparison interval to monitor for a channel change,and, upon detecting a channel change, the server could then again use alonger comparison interval to identify the channel being rendered.

Further, note that while the discussion herein focuses primarily onserver 20 detecting the likelihood of a channel change and taking actionor causing action to be taken in response, some or all of the operationsdescribed could alternatively be carried out by one or more otherentities, in place of or in cooperation with the server.

For instance, one or more of the operations could be carried out by themedia presentation device itself or by an adjunct system in localcommunication with the media presentation device. By way of example, themedia presentation device itself could be provisioned with or haveaccess to reference data like that described above, the mediapresentation device could itself refer to the reference data to identifythe channel that the media presentation device is rendering, the mediapresentation device could then detect a threshold mismatch between afingerprint stream of the media content that it is rendering and areference fingerprint stream of the identified channel, and the mediapresentation device could take or cause to be taken action in response,such as changing a channel-specific overlay superimposed on the mediacontent presentation. Other examples are possible as well.

FIG. 5 is next a flow chart depicting operations that can be carried outin an example method, to detect and respond to a change of channels at amedia presentation device. One or more of the operations in the methoddepicted by FIG. 5 could be carried out by one or more entities,including, without limitation, a network server, a media presentationdevice, and/or one or more entities operating on behalf of or incooperation with these or other entities. Any such entity could embody acomputing system, such as a programmed processing unit or the like,configured to carry out one or more of the method operations. Further, anon-transitory data storage (e.g., disc storage, flash storage, or othercomputer readable medium) could have stored thereon instructionsexecutable by a processing unit to carry out the various depictedoperations.

As shown in FIG. 5, at block 50, the method includes, while the mediapresentation device is presenting media content determined to be of afirst channel, detecting a threshold mismatch between (i) a queryfingerprint stream representing the media content being presented by themedia presentation device and (ii) a reference fingerprint streamrepresenting the first channel, where the threshold mismatch indicates alikelihood that the media presentation device has transitioned frompresenting the first channel to presenting a second channel. And atblock 52, the method includes, responsive to detecting the thresholdmismatch, changing an overlay on the presented media content, wherechanging the overlay involves removing superimposed content associatedwith the first channel (e.g., an identification of the first channel,such as a graphical overlay identifying the first channel if the contentis video content).

In addition, the method could include, responsive to the detecting thethreshold mismatch, identifying the second channel, in which case theact of changing the overlay could be further responsive to theidentifying of the second channel and could involve adding superimposedcontent associated with the identified second channel (e.g., anidentification of the second channel, such as a graphical overlayidentifying the second channel). In practice, for instance, the act ofidentifying the second channel could involve comparing the queryfingerprint stream with reference fingerprint streams respectivelyrepresenting a plurality of channels, and determining based on thecomparing that the query fingerprint stream matches a referencefingerprint stream representing the second channel.

FIG. 6 is next another flow chart depicting operations that can becarried out in an example method, to detect and respond to a change ofchannels at a media presentation device, which could similarly beimplemented by one or more entities and/or embodied on a non-transitorydata storage as discussed above. Further, features of this method couldbe applied in the context of the method shown in FIG. 5, and vice versa.

As shown in FIG. 6, at block 60 (which could occur concurrently with thesubsequent operations), the method includes the computing systemreceiving a plurality of query fingerprints representing media contentrendered over time by the media presentation device, in a situationwhere, based on at least a portion of the received query fingerprints,the rendered media content has been identified as being a first channelof media content. Further, at block 62, the method includes comparingone or more of the received query fingerprints to a corresponding one ormore reference fingerprints representing the first channel of mediacontent. And at block 64, the method includes, based on the comparing,determining a likelihood that the media content being rendered by themedia presentation device is no longer the first channel of mediacontent. At block 66, the method then includes, responsive to thedetermined likelihood that the media content being rendered by the mediapresentation device is no longer the first channel of media content,discontinuing a channel-specific action with respect to the rendering ofthe media content by the media presentation device.

In this method, the channel-specific action could be based on the mediacontent having been identified as the first channel of media content andcould include superimposing first-channel-specific content on the mediacontent being rendered by the media presentation device (e.g.,superimposing content specific to the first channel, such as anidentification of the first channel (e.g., a graphical representation ifthe content comprises video content)). In that case, the act ofdiscontinuing the channel-specific action with respect to the renderingof the media content by the media presentation device could involvediscontinuing the superimposing of the first-channel-specific content onthe media content being rendered by the media presentation device.

In addition, the method could include, responsive to the determinedlikelihood that the media content being rendered by the mediapresentation device is no longer the first channel of media content,engaging in a process to identify the media content being rendered bythe media presentation device as being a second channel of mediacontent. For instance, the computing system could compare one or more ofthe query fingerprints with a corresponding one or more referencefingerprints corresponding with known channels, to find that the queryfingerprint(s) match the reference fingerprint(s) of the second channel,thereby establishing that the media content being rendered by the mediapresentation device is media content of the second channel.

Further, in another implementation of the method, the channel-specificaction could be based on media content having been identified as thefirst channel of media content and could involve recordingchannel-ratings data based on presentation of the first channel by themedia presentation device as discussed above). In that case, the act ofdiscontinuing the channel-specific action with respect to the renderingof the media content by the media presentation device could involve oneor more actions such as (i) discontinuing the recording ofchannel-ratings data based on presentation of the first channel by themedia presentation device and/or (ii) recording channel-ratings dataindicating discontinuation of presentation of the first channel by themedia presentation device.

In addition, in line with the discussion above, the act of comparing theone or more received query fingerprints to the corresponding one or morereference fingerprints could involve comparing a particular one of thequery fingerprints with a corresponding particular one of the referencefingerprints. And in that case, the act of determining, based on thecomparing, the likelihood that the media content being rendered by themedia presentation device is no longer the first channel of mediacontent could involve determining based on the comparing that theparticular query fingerprint does not match the particular referencefingerprint.

And further in line with the discussion above, the act of comparing theone or more received query fingerprints to the corresponding one or morereference fingerprints could involve comparing t of the queryfingerprints with a corresponding t of the reference fingerprints, wheret>1. And in that case, the act of comparing the t query fingerprintswith the corresponding t reference fingerprints and determining based onthe comparing the likelihood that the media content being rendered bythe media presentation device is no longer the first channel of mediacontent could involve (a) computing distances between the t queryfingerprints and the t reference fingerprints, (b) summing the computeddistances to establish a sum, and (c) using a sigmoid function totranslate the established sum to a probability value representing thelikelihood.

In addition, in line with the discussion above, the act of identifyingof the rendered media content as being the first channel of mediacontent could be done using a first fingerprint comparison interval, andthe act of comparing the one or more of the received query fingerprintsto a corresponding one or more reference fingerprints representing thefirst channel of media content could be done using a second fingerprintinterval shorter than the first fingerprint interval, to help ensuretimely detecting of a channel change.

FIG. 7 is next a simplified block diagram of an example system operablein accordance with the present disclosure. This system could represent anetwork server as described above, and/or one or more other entities(possibly including the media presentation device). As shown in FIG. 7,the example system includes a network communication interface 70, aprocessing unit 72, and non-transitory data storage 74, any or all ofwhich could be integrated together or, as shown, communicatively linkedtogether by a system bus, network, or other connection mechanism 76.

Network communication interface 70 could comprise one or more physicalnetwork connection mechanisms to facilitate communication on a networksuch as network 22 discussed above, and/or for engaging in direct ornetworked communication with one or more other local or remote entities.As such, the network communication interface could comprise a wirelessor wired Ethernet interface or other type of network interface, forengaging in IP communication and/or other type of network communication.

Processing unit 72, could then comprise one or more general purposeprocessors (e.g., microprocessors) and/or one or more specializedprocessors (e.g., application specific integrated circuits). Andnon-transitory data storage 74 could comprise one or more volatileand/or non-volatile storage components, such as optical, magnetic, orflash storage.

As shown, data storage 74 then stores program instructions 78, whichcould be executable by processing unit 72 to carry out variousoperations described herein. For example, the program instructions couldbe executable to receive from a media presentation device, via thenetwork communication interface, a query fingerprint stream representingmedia content being presented by the media presentation device, wherethe query fingerprint stream has been determined to represent a firstchannel. Further, the instructions could be executable to detect athreshold mismatch between the received query fingerprint stream and areference fingerprint stream representing the first channel, where thethreshold mismatch indicates a likelihood that the media presentationdevice has transitioned from presenting the first channel to presentinga second channel. And the instructions could be executable to respond todetecting the threshold mismatch by changing an overlay on the presentedmedia content, including removing superimposed content associated withthe first channel for instance.

Other features discussed above can be applied in the context of thissystem as well, and vice versa.

Finally, FIG. 8 is a simplified block diagram of an example mediapresentation device operable in accordance with the present disclosure.In line with the discussion above, this media presentation device couldtake various forms. For instance, it could be a television, computermonitor, or other device that operates to receive and render videocontent, and/or it could be a loudspeaker, a pair of headphones, orother device that operates to receive and render audio content. Numerousother examples are possible as well.

As shown in FIG. 8, the example media presentation device includes amedia input interface 80, a media presentation interface 82, a networkcommunication interface 84, a processing unit 86, and non-transitorydata storage 88, any or all of which could be integrated together or, asshown, communicatively linked together by a system bus, network, orother connection mechanism 90.

Media input interface 80 could comprise a physical communicationinterface for receiving media content to be presented by the mediapresentation device. As such, the media input interface could includeone or more wired and/or wireless interfaces for establishingcommunication with and receiving media content in analog or digital formfrom a receiver or other device or system. For example, the media inputinterface could include one or more interfaces compliant with protocolssuch as DVI, HDMI, VGA, USB, BLUETOOTH, WIFI, among numerous others.

Media presentation interface 82 could then comprise one or morecomponents to facilitate presentation of the received media content. Byway of example, the media presentation interface could comprise a userinterface such as a display screen and/or a loudspeaker, as well as oneor more drivers or other components for processing the received mediacontent to facilitate presentation of the content on the user interface.

Network communication interface 84 could comprise a physical networkconnection mechanism to facilitate communication on a network such asnetwork 22 discussed above, and/or for engaging in direct or networkedcommunication with one or more other local or remote entities. As such,the network communication interface could comprise a wireless or wiredEthernet interface or other type of network interface, for engaging inIP communication and/or other type of network communication.

Processing unit 86 could then comprise one or more general purposeprocessors (e.g., microprocessors) and/or one or more specializedprocessors (e.g., application specific integrated circuits). Andnon-transitory data storage 88 could comprise one or more volatileand/or non-volatile storage components, such as optical, magnetic, orflash storage. Further, as shown, data storage 88 stores programinstructions 92, which could be executable by processing unit 86 tocarry out various operations described here. For example, the programinstructions could be executable to generate on an ongoing basis afingerprint of media content being rendered by the media presentationdevice, based on analysis of the media content being received at themedia input interface 80 and/or being processed at the mediapresentation interface 82, and to provide the generated fingerprint onan ongoing basis to facilitate channel identification as describedherein.

Exemplary embodiments have been described above. Those skilled in theart will understand, however, that changes and modifications may be madeto these embodiments without departing from the true scope and spirit ofthe invention.

What is claimed is:
 1. A method of detecting and responding to a changeof channels at a media presentation device, the method comprising: whilethe media presentation device is presenting a first channel, detecting athreshold mismatch between (i) a query fingerprint stream representingmedia content being presented by the media presentation device and (ii)a reference fingerprint stream representing media content of the firstchannel, wherein the media presentation device was determined to bepresenting the first channel by comparing the query fingerprint streamwith the reference fingerprint stream using a first fingerprintcomparison rate and, based on the comparing, detecting a match betweenthe query fingerprint stream and the reference fingerprint stream,wherein detecting the threshold mismatch is done by comparing the queryfingerprint stream with the reference fingerprint stream using a secondfingerprint comparison rate greater than the first fingerprintcomparison rate, and wherein the threshold mismatch indicates alikelihood that the media presentation device has transitioned frompresenting the first channel to presenting a second channel; responsiveto detecting the threshold mismatch, changing an overlay on thepresented media content, wherein changing the overlay involves removingsuperimposed content associated with the first channel.
 2. The method ofclaim 1, wherein the superimposed content comprises an identification ofthe first channel.
 3. The method of claim 1, further comprising:responsive to detecting the threshold mismatch, identifying the secondchannel, wherein changing the overlay is further responsive to theidentifying of the second channel and involves adding superimposedcontent associated with the identified second channel.
 4. The method ofclaim 3, wherein identifying the second channel comprises comparing thequery fingerprint stream with reference fingerprint streams respectivelyrepresenting a plurality of channels, and determining based on thecomparing that the query fingerprint stream matches a referencefingerprint stream representing the second channel.
 5. The of claim 1,wherein the media content comprises video content, and wherein theoverlay comprises a graphical overlay.
 6. The method of claim 1, carriedout at least in part by the media presentation device.
 7. A method fordetecting and responding to a change of channels, the method comprising:receiving into a computing system a plurality of query fingerprintsrepresenting media content rendered over time by a media presentationdevice, wherein, based on at least a portion of the received queryfingerprints, the rendered media content has been identified as being afirst channel of media content; comparing one or more of the receivedquery fingerprints to a corresponding one or more reference fingerprintsrepresenting the first channel of media content, wherein identifying therendered media content as being the first channel of media content isdone using a first fingerprint comparison rate, and wherein comparingthe one or more of the received query fingerprints to a correspondingone or more reference fingerprints representing the first channel ofmedia content is done using a second fingerprint comparison rate greaterthan the first fingerprint comparison rate; based on the comparing,determining a likelihood that the media content being rendered by themedia presentation device is no longer the first channel of mediacontent; and responsive to the determined likelihood that the mediacontent being rendered by the media presentation device is no longer thefirst channel of media content, discontinuing a channel-specific actionwith respect to the rendering of the media content by the mediapresentation device.
 8. The method of claim 7, wherein thechannel-specific action is based on the media content having beenidentified as being the first channel of media content and comprisessuperimposing first-channel-specific content on the media content beingrendered by the media presentation device, and wherein discontinuing thechannel-specific action with respect to the rendering of the mediacontent by the media presentation device comprises discontinuing thesuperimposing of the first-channel-specific content on the media contentbeing rendered by the media presentation device.
 9. The method of claim8, wherein the first-channel-specific content comprises anidentification of the first channel.
 10. The method of claim 9, whereinthe media content comprises video content, and wherein thefirst-channel-specific content comprises a graphical representation ofthe identification of the first channel.
 11. The method of claim 7,further comprising: responsive to the determined likelihood that themedia content being rendered by the media presentation device is nolonger the first channel of media content, engaging in a process toidentify the media content being rendered by the media presentationdevice as being a second channel of media content.
 12. The method ofclaim 7, wherein the channel-specific action is based on the mediacontent having been identified as being the first channel of mediacontent and comprises recording channel-ratings data based onpresentation of the first channel by the media presentation device, and.wherein discontinuing the channel-specific action with respect to therendering of the media content by the media presentation devicecomprises at least one operation selected from the group consisting of(i) discontinuing the recording of channel-ratings data based onpresentation of the first channel by the media presentation device and(ii) recording channel-ratings data indicating discontinuation ofpresentation of the first channel by the media presentation device. 13.The method of claim 7, wherein comparing the one or more received queryfingerprints to the corresponding one or more reference fingerprintscomprises comparing a particular one of the query fingerprints with acorresponding particular one of the reference fingerprints, and whereindetermining based on the comparing the likelihood that the media contentbeing rendered by the media presentation device is no longer the firstchannel of media content comprises determining based on the comparingthat the particular query fingerprint does not match the particularreference fingerprint.
 14. The method of claim 7, wherein comparing theone or more received query fingerprints to the corresponding one or morereference fingerprints comprises comparing t of the query fingerprintswith a corresponding t of the reference fingerprints, wherein t>1, andwherein comparing the t query fingerprints with the corresponding treference fingerprints and determining based on the comparing thelikelihood that the media content being rendered by the mediapresentation device is no longer the first channel of media contentcomprises (a) computing distances between the t query fingerprints andthe t reference fingerprints, (b) summing the computed distances toestablish a sum, and (c) using a sigmoid function to translate theestablished sum to a probability value representing the likelihood. 15.The method of claim 7, wherein comparing the one or more of the receivedquery fingerprints to the corresponding one or more referencefingerprints representing the first channel of media content is donewith respect to a most recent one or more received query fingerprints.16. The method of claim 7, carried out at least in part by the mediapresentation device.
 17. A system comprising: a network communicationinterface; a processing unit; non-transitory data storage; and programinstructions stored in the non-transitory data storage and executable bythe processing unit to carry out operations including: receiving from amedia presentation device, via the network communication interface, aquery fingerprint stream representing media content being presented bythe media presentation device, wherein the query fingerprint stream hasbeen determined to represent a first channel, wherein determining thatthe query fingerprint stream represents the first channel is done usinga first fingerprint comparison rate; detecting a threshold mismatchbetween the received query fingerprint stream and a referencefingerprint stream representing the first channel, wherein detecting thethreshold mismatch is done using a second fingerprint comparison rategreater than the first fingerprint comparison rate, and wherein thethreshold mismatch indicates a likelihood that the media presentationdevice has transitioned from presenting the first channel to presentinga second channel, and responsive to detecting the threshold mismatch,changing an overlay on the presented media content, wherein changing theoverlay involves removing superimposed content associated with the firstchannel.
 18. The system of claim 17, wherein changing the overlay on thepresented media content further involves adding superimposed contentassociated with the second channel.
 19. The system of claim 17, whereinthe superimposed content comprises an identification of the firstchannel.
 20. The system of claim 17, wherein the media content comprisesvideo content, and wherein the overlay comprises a graphical overlay.